package cn.bonoon.kernel.web.annotations.grid;


/**
 * <pre>
 * 定义grid列表的属性，包括：{@link AsDataGrid}和{@link AsTreeGrid}两种类型
 * 在不指定的情况下，默认是使用{@link AsDataGrid}类型
 * 建议即使不使用{@link AsDataGrid}或{@link AsTreeGrid}，也写上本注解提供一些默认值
 * 
 * 列表项的定义使用{@link AsColumn}
 * <hr/>
 * 如果对被注解的实体需要进行自动转值的，
 * 请参考{@link cn.bonoon.kernel.annotations.TransformField TransformField}和{@link cn.bonoon.kernel.annotations.Transform Transform}
 * </pre>
 * 
 * @author jackson
 * 
 */
public @interface GridOptions {

	String sortName() default "id";

	String sortOrder() default "desc";
	
	boolean checkbox() default false;
	
	/** 是否允许多行选；如果是树，则表示是否显示checkbox */
	boolean singleSelect() default false;

	boolean rownumbers() default false;
	
	/**  是否自动适配列宽 */
	boolean fitColumns() default false;

	/** 是否显示操作栏，默认为true。 */
	OperationType operation() default OperationType.RIGHT;

	String operationField() default "id";

	String operationTitle() default "操作";

	int operationWith() default 120;
	
	/** 对列表进行分组，这里是分组的定义 */
	ColumnGroup[] groups() default {};
	
	/** 定义在toolbar上的按键 */
	GridToolbar[] toolbars() default {};
	
	/** 定义在列上的操作按钮 */
	GridButton[] buttons() default {};
}
